#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int ListDataType;

typedef struct ListNode
{
	ListDataType data;
	struct ListNode* pre;
	struct ListNode* next;
}LTNode;

void InitNode(LTNode** pphead);
void print(LTNode* phead);


void ListPushBack(LTNode* phead,ListDataType x);
void ListPushFront(LTNode* phead,ListDataType x);

void ListPopBack(LTNode* phead);
void ListPopFront(LTNode* phead);

LTNode* FindNode(LTNode* phead, ListDataType x);

void ListInvertBack(LTNode* pos, ListDataType x);
void ListErase(LTNode* pos);

void LTDestory(LTNode* head);








